add proper logging system

Closes #26