increase readability, guard logs and add new utility methods