tasks #12 , #6 fixed