Added HAL library, renamed controller