don't need observable if you use published