new additions+minor fix