remove private method and rewrite into more precise notation