[DRAFT] clean, add comments, Add origins to operations and replace Float
by BigDecimal