reworking some things, also working on comp func