Now uses .. macro for easier code reading.