Adding and fixing new functional