* extracted and added a bunch of assembly