Added extra functionality and accepted inputs