recyclerview version. need to clean up though.