this is so hard ; : :'(