first shitty functionality added