1. Added initial functions and tests.