ENH: better organization