creates initialize and match methods