added margin auto support