Mixing done, gets() fixed
__setup done
__setup done, gets() is more sophisticated