add new classes,
refactor code,
add key controls.