Refactored a bit
Added another entry point for catching up