added implicit code, testing pending