implementing basic structure...