Splited up into multiple versions and added new one.