this is not hard but not easy ------------------------------------------------------------------------> look inside