Add header and implementation