started writing dynamic dispatch capability