added sticky footer and refactored