start to implment earnest version.
detailed prog#flags