Handled inputs correctly, need to implement cache scheme now