implementing and testing gems