separating conversion logic and adding more conversion related assertions