working towards the new design. Everything now compiles except tests don't run yet