refactor into many files, add gemfile, add start of specs