cleaned up the source via warnings + hlint