Implementing design changes from @guitrasher