[TASK] Restructure package, add unit test