using Struct state saving moves done