shortened, cleaned up