add offset and spreading
Merged with devel