actually do it properly