@depricated already? remove + refactor.