some abstraction shit
132