refactored and cleaned up gem and spec files