consolidate functionality in Period