lowercase implementations