added x_Method..., and added comment suggesting further abstraction