add reflect function
add random
random in main