rename, add some documentation