implement use inline
change anum to be clearer, implement reserve
big code block for reserve space, not dual