Added a few implementations; readability