moved into gem structure
updated version