Basic concept
Style improvements and improved satisfaction handling