more flexible
cleanup