added swing, some inconsistencies present