cleaner debugging
added put extractor and finished put external api method