I think this thread will help you quite far:
And yes, you can overwrite existing files / functions / whatever.ö