Updated Kata04's abstraction and started kata05