Refactor and add showers