A bit mor eexpressive. could use a bit more work