split requires and version
refactor gemspec