refactor & added the controls features part 1