simplified design for later work