actually only function veriable should be marked safe