added Observable<T>
added RelayCommands