add recurrent module and new put method