make this a composer package. greatness awaits.