start to standardize gem
refactor