Separated modules into proper components, started front-end API