still fixing new implementation