Major rework and re-write of most features