This is very C-like, hehe