add an adapter. need to fine tune it further.