service simplification, better erro handling, ability to render templates