2nd commit, complete redesign