much better scaffolding experience, cleaned up code a bit