initial rework
more changes
added references section