changed return types