Integration

Current integrated changes
as discussed, let's move these to a separate classes