modified with results of hlint