initial signals refactor
ported new signal functionality
refactored save and fixed bugs