proof of concept. no service yet and UI needs work