better

modularity and conversion