moves basically done intermediate level, will have to debug
moves basically done intermediate level, will have to debug