further implementation - the case is that it doesn't work