applied changes from master