UPDATED codebase and replaced Vector with ArrayList - old code is old ^^