added single execution functional #7
added more test cases #5