first stab at trying to make a lib <3