Split up source files and add rake tasks