split into modules and added cucumber dependencies