a little bit more compact