not so hacky anymore