adding advanced features