seperating functional and example tests for better documentation