Refactored. Added expressive methods.