exp maybe done? somewhat pseudo still