implemented idea#1