complete but not working design