use flexbox when possible