initial codes
Tests