starting with coding and tests