implemented procedure call and fixed Str() return type