Create better implementation