essentially works... now cleaning up