added foundation for logic