merge from develop: the rest of the changes