Big update, ready for test usage.