expiremets with metaprogramming wirh ruby