adding features and fixing errors

close #11, close #8
there is still a big problem with confirm_box() handling