Improve some implements

OK for step one.