cleanup
need self variable
cleanup