fixed some abstaction problems