refactored API, removed reactive patterns