I'm about to start a new gig where the expectation is to set up a testing framework to allow delivery of new features using Cucumber. While I am familiar with automation and creation of feature files, creating the framework from scratch will be a task I've not done before. Thrown into the deep end here. 

Before we get into BDD to deliver the new features there is an expectation to get exciting system behaviours written up as features and automated. Before I run too far ahead I want to make sure I am on the right line of thinking of how to start this task.

I am thinking that I start with the feature files and then my step defs and then write some code to execute these steps. Regarding the code structure, would I still have a separate package of classes for pages and a separate class for tests? Or is the best approach to just have a package for page classes that contain all things we can do with the page?

Any resources to help with this initial set up structure?