Re-arranged package structure to better fit the functionality. More groups implemented. Class diagram has more details.