utilities, cleaned up core