switching over to the new (slightly cleaner) model