initial program commit

done:
- error handling
- logging

todo
- user prompt