Starting over from scratch, better design this time!