catalogue logic done