finished all major aspects