Also made them accept RValue as well and added some test cases for them and for the overloader bug i fixed last time.