Samarth

merged with current master.