change getter and setter inline
add more check and move inline to funcs