add optional margin