getting close to base required functionality.