add gemfile, break up module