added adapter updates(not completely clean and uncoupled, but works well enough)