The first thing I would like to say is that hierarchy is not an obvious answer. While one direction is to have a team leader, that leader is not usually assigned administrative tasks including things like salary, although he may be the one who takes requests from the team to management.
The other major type of team to consider is a self-managed team, where no single person is the leader. This, though, requires all members of the team to have high emotional intelligence (EQ).
But the first step should be to reconsider the mission, which also depends on what you mean by core work. If core work means work on the engine or framework, then, depending on how many team members can be made available, it would be best to have two separate teams, with the new features team split off. If these two portions of the work need to be closely aligned, not just by goals, you can share a scrum master or other facilitator to assure this happens.
There are many ways to go about this but a next good step to forming the team is to establish the 5R's for the team and its individuals - roles, responsibilities, rules, relationships and results. This keeps everyone on the same path and is also a datum for judging both team and individual contributions.
I don't want to go too long. You can take these basic principles and read more about them and about team formation. But the above are the essentials to getting started and the direction will be clearer once you get past them.