clarity and added return types