WIP: all angular, better design