almost done, except exit and few moments