cleanup
use activity stack
cleanup