tidy - reimplemented