circular imports are fun