compute directly