begin decimal implementation