Working well! still need to add unit tests and verify xml