make it flexible