added argparser and logging features