added a few more return types