generalize spacing