Created implementations and tests