first abstraction to modx