add handler(not working well)