created a gem from this