1) restructure goaltype
2) check in simple version