initial idea1 commit
2nd modification