use a prototypical inheritance scheme for obstacles