fixed psh and handle, start working in part 2