done! TODO: cruft cleanup