more lib-ization
i have no idea what im doing