Signature should include name, args and block